﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Xml.Linq;
using Citiport.Core.Error;

/// <summary>
/// Class contains all the exceptinos and erros
/// Author: Jeff
/// Date: 04-12-2008
/// </summary>
public class ERRORS
{

	public ERRORS()
	{
		
	}
}

namespace Citiport.Core.Error
{
    public enum LogLevel
    {
        Debug,
        Info,
        Warn,
        Error,
        Fatal
    }

    public enum GoogleTranslateLimit
    {
        MaxLengthExcessed
    }
}
public class WebRequstBaseException : Exception
{
    public String RequestUrl {set;get;}

    public LogLevel LogLevel {set;get;}

    public String Msg {set;get;}

    public long StatsCode{set;get;}

    public WebRequstBaseException() { }

    public WebRequstBaseException(LogLevel level, String url, long code, String msg)
    {
        this.RequestUrl = url;
        this.LogLevel = level;
        this.Msg = msg;
        this.StatsCode = code;
    }
}

public class GoogleLanguageException : WebRequstBaseException
{
    public GoogleLanguageException():base() {}

    public GoogleLanguageException(LogLevel level, String url, long code, String msg):base(level, url, code, msg){}
}

public class GoogleTranslatedLimitation : WebRequstBaseException
{
    public GoogleTranslateLimit Limit { set; get; }

    public GoogleTranslatedLimitation() : base() {}

    public GoogleTranslatedLimitation(LogLevel level, String message, GoogleTranslateLimit limit): base(level, null, 0, message)
    {
        this.Limit = limit;
    }
}

public class ConsoleTool
{
    public static void WriteLineOutputWindows(String txt)
    {
       
    }
}